export default {
  // 提供唯一数据源，所有数据放在这里
  state: {
    count: 1 // 将要数据共享的数据
  },

  // 发生变更的数据
  mutations: {
    COuntAdd(state) {
      state.count++ // 当数据发生改变时，从这里调用
    },
    // 根据外界传的值 来决定 +n
    Nadd(state, step) {
      state.count += step // 当数据发生改变时，从这里调用
    }
  },

  // 所有的异步操作在这个方法调用 例如定时器 1s后才改变数据
  actions: {
    AddYb(state) {
      // 不能直接修改 state里的count值
      // 1s 后调用 mutations函数里的 COuntAdd 方法
      setTimeout(() => {
        state.commit('COuntAdd')
      }, 1000)
    },
    // 异步操作 传参
    AddYb2(state, step) {
      // 不能直接修改 state里的count值
      // 1s 后调用 mutations函数里的 Nadd 方法
      setTimeout(() => {
        state.commit('Nadd', step)
      }, 1000)
    }
  },

  // 只返回 state.count 的值，不操作任何改变
  getters: {
    showCount(state) {
      return state.count
    }
  }
}
